Skip to main content

Class V128ExtractLaneInstruction<TLane, TValue, TValueType>

Base class for vector instructions which extract a lane as a scalar value.

Assembly: WaaS.Core.dll​
View Source​
Declaration
public abstract class V128ExtractLaneInstruction<TLane, TValue, TValueType> : Instruction where TLane : unmanaged where TValue : unmanaged where TValueType : struct, IValueType<TValue>

Inheritance: System.Object -> WaaS.Models.Instruction

Derived:
WaaS.Models.ExtractLaneF32x4, WaaS.Models.ExtractLaneF64x2, WaaS.Models.ExtractLaneI16x8S, WaaS.Models.ExtractLaneI16x8U, WaaS.Models.ExtractLaneI32x4, WaaS.Models.ExtractLaneI64x2, WaaS.Models.ExtractLaneI8x16S, WaaS.Models.ExtractLaneI8x16U

Properties​

LaneIndex​

View Source​
Declaration
public byte LaneIndex { get; }

Methods​

Execute(WasmStackFrame)​

Executes the instruction.

View Source​
Declaration
public override void Execute(WasmStackFrame current)
Parameters​
TypeName
WaaS.Runtime.WasmStackFramecurrent

Convert(TLane)​

View Source​
Declaration
protected abstract TValue Convert(TLane lane)
Returns​

<TValue>

Parameters​
TypeName
<TLane>lane

Validate(in ValidationContext)​

Validates the instruction.

View Source​
Declaration
public override void Validate(in ValidationContext context)
Parameters​
TypeName
WaaS.Models.ValidationContextcontext

PreValidateStackState(in ValidationContext)​

Get the number of values to pop and push from the stack to validate stack depth.

View Source​
Declaration
public override (uint popCount, uint pushCount) PreValidateStackState(in ValidationContext context)
Returns​

System.ValueTuple<System.UInt32,System.UInt32>

Parameters​
TypeName
WaaS.Models.ValidationContextcontext

ValidateStackState(in ValidationContext, ref ValidationBlockStackState)​

Simulates stack operations to validate the stack state.

View Source​
Declaration
public override void ValidateStackState(in ValidationContext context, ref ValidationBlockStackState stackState)
Parameters​
TypeName
WaaS.Models.ValidationContextcontext
WaaS.Models.ValidationBlockStackStatestackState